import { fileURLToPath, URL } from "node:url";

import { defineConfig, loadEnv } from "vite";
import vue from "@vitejs/plugin-vue";
import vueSetupExtend from "vite-plugin-vue-setup-extend-plus";

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
  // mode模式字符串，process.cwd()项目 根目录
  const env = loadEnv(mode, process.cwd());
  // 返回值 import.meta.env

  // console.log(`当前模式: ${mode}`);

  return {
    // base: "zgw",
    //开发环境有效
    server: {
      port: 8080,
      open: true, //默认自动打开
      host: "0.0.0.0", //所有ip访问此项目
      proxy: {
        [env.VITE_APP_BASE_API]: {
          target: env.VITE_APP_SERVICE_URL,
          changeOrigin: true,
          rewrite: (path) => path.replace(/^\/dev-api/, ""),
        },
      },
    },
    plugins: [
      vue(),
      vueSetupExtend(), // 使用 <script setup name="xx"> 上name作为缓存组件名
    ],
    resolve: {
      alias: {
        "@": fileURLToPath(new URL("./src", import.meta.url)), //配置别名
      },
    },
  };
});
